The invention is generally directed to an integrated product for implementing a specific system or packaged application software and a process for developing the integrated product for implementing the specific system or application software. In particular, the invention is directed to an integrated product for better defining the functionality and reducing the cost and time to implement complex application software. The integrated product includes implementation planning, data conversion, user documentation and user training components for implementing application systems. The integrated product is created by following a process for analyzing the application and developing an integrated implementation package for the application software. The design portion of the integrated product is developed after a review of the functional requirements.
As the computer industry has grown, the size and complexity of packaged application software has likewise grown. This complexity is particularly troublesome for companies, and other large governmental, educational and commercial institutional computer users, which rely heavily on company or division-wide systems that require large investments in information systems management and tools.
For example, manufacturing companies must maintain accurate, effective and readily accessible inventory records for materials utilized in manufacturing processes to implement newer and more improved inventory handling processes to effectively manage the company and the business. It is critical that the required information be available to manage in a real time environment. Many management systems are obsolete and fail to provide the support necessary for management to effectively manage. For the inventory system to be useful it must make the data relating to existing inventory, manufacturing activities and production plans accessible to the appropriate department or individuals in charge of coordinating procurement, transportation of materials and process manufacturing. In addition, various levels of management will need access to the information on a periodic basis (monthly reports) and even on-line for control and management purposes.
The software guides the operation of the business and all activities related to the business. The computer system must allow access to various types of information by different people, some of whom may input or modify data, while others will be limited to accessing all or some limited portion of the data. The information systems also generally include various report features tailored to the specific needs of the user company or entity and to the varying needs of people actually using the system.
Most of these large computer systems and the related information systems are managed by management information system (MIS) departments which specialize in managing the systems and applications software. They provide the information stored in the systems to the different levels of management in a timely fashion and a useful form through the application software. This application software is developed in house or purchased from third party vendors who sell application packages.
The in-house design approach requires the user companies or institutions to maintain huge MIS staffs which spend years working on projects, many of which, due to poor designs or rapidly evolving changes in corporate needs, or substantial improvements in existing computer hardware and software, are obsolete before they can even be implemented.
During the various waves of cost cutting by large corporations and by institutions and governmental agencies and bodies, the large MIS departments came under severe attack for the often wasteful addition of regular staff for a single project. Generally, after the project was completed, whether successfully or not, the employees stayed on and bloated the ranks of the company.
Now, the ever increasing pace of improvements of hardware and software have been so pervasive and continuous and the costs of maintaining in-house development teams has become so high that it is now somewhat unusual to find companies or institutions which have sufficient additional internal MIS resources to develop, design and implement a custom software package for use with major company information systems in a mainframe environment. Even where such resources exist, the companies and institutions cannot afford the leisurely pace of design and development which previously existed. They need to streamline the design, development and implementation process and require outside assistance.
As a result, independent software developers have grown and now provide the manpower necessary to design, develop and debug major software systems with broad functionality. Generally, these companies examine the market for large scale products which may be sold to a number of different companies or institutions sharing similar needs and requirements.
Due to the widespread increase in uniformity of the installed hardware and operating system software and the cost to develop systems, the packaged application software industry has shifted from developing application software customized for, and intended to be exclusively used by, a particular user having specific needs, to creation of packaged application software which is developed with the needs of a broad range of potential user companies in mind. To meet this broadened market, broad ranges of functionality are added to the packaged application software so that the software package does anything that any user might wish to do with the system.
However, within this philosophy of development are the seeds of a nightmare for a purchasing user's MIS department. A manufacturing software package may include many different features of which only a select few are useful, necessary or appropriate in the user's environment. To determine which features are to be used, or mask features not be implemented, to customize the software so that it is optimized for the features selected and to convert from an existing manual, computer based or hybrid system to the new application software are monumental tasks.
Implementation of application software, which includes a planning phase, a data conversion phase, an installation phase and a user training phase is a particularly labor intensive process. Upon implementation the user must actually use the system in its business and operate in the environment created b the new system. If the implementation of the system does not succeed, either because the program does not do what it is supposed to do or because the employees are not properly trained and understand how to use the system correctly or efficiently in the context of their job responsibilities, the entire company will suffer greatly.
From the first step in the software development life cycle--determining the conceptual need--through implementation and operation, it is also a very expensive process. It is not unusual that as much as 80% of a software application's costs to an acquiring company are associated with its implementation. Users must make substantial commitments of time and personnel and often choose to contract for costly outside assistance to successfully customize and implement an application package. It is not uncommon for a company to hire independent computer consultants to work on the implementation of a large software package for one or two years. With all of these costs and the time involved, successful implementation is not always assured.
Despite the broad functionality often added to packaged application software, the user often finds that the package actually meets only 80% of its specific needs. The user must change the way it works and/or the software must be modified to fit a user's additional or different needs in order to satisfy the remaining 20%. In addition, most users either don't understand all of the functions of the packaged application software that are available or aren't aware of the existence of these features. Functions are seldom clearly defined but rather are presented in volumes of user documentation, menus and screens. Functions applicable to a process manufacturer for example, may have no relevance to a discrete manufacturer.
Static user documentation does not allow tailoring of the procedures and training of the packaged applications software to each user company's different needs and the needs of each of the individuals at the user company involved in utilizing the software. Misunderstandings between users and developers about the functionality of the software package are common. Misunderstandings and poor communications between the MIS department of a user company and the groups or divisions using the software are even more common.
Software vendors, as do sellers of other products, oversell their products, promising functionality but not defining the exact nature of that functionality. Users also add confusion because they fail to understand what functionality they require. This greatly increases the difficulty of implementation. Increased implementation problems convert directly into a larger time to implement the software, substantially increased direct and indirect costs and decreased use of available functionality. Decreased functionality, unfortunately, also translates into reduced financial performance as the business is not operating in an efficient manner.
Generally, the documentation provided by packaged application software developers is either unusable or unused. Generic application software package developers, as with most software developers, are more concerned with producing a functioning product than preparing comprehensive and useful documentation. On the other hand, much documentation provided is so voluminous that it is not usable by the staff actually using the program once it is installed. Documentation is almost always an afterthought and most frequently written by individuals other than the software developers. Actual users are unlikely to consult massive user manuals. In addition, the documentation is not always current or even more importantly written from the user's perspective. No user oriented functional statements have existed before this invention.
Finally, the user company's bottom line is rarely impacted as positively as is originally forecasted either by the packaged software developer or the user's MIS department. Generally, the promised functionality is either not effectively implemented into the user company's method of doing business or unimplemented features must be done manually or through a secondary system which does not allow the expected efficiencies of an integrated system. In addition, there is a substantial loss of efficiency as the business is adapted to the new system. There is also a substantial maintenance burden which is added to the MIS department to keep the new system functioning.
Due to the intensely competitive nature of the packaged software development industry, the challenge for application software developers is to address these realities and to differentiate their offerings from their competitors. For users the challenge is eliminating these complications in order to achieve the operational and financial goals they set when acquiring the application package.
Thus, there is a great need for a tool or set of tools which will allow a user company to efficiently implement a application software package by: evaluating the offered and needed functionality; planning the implementation schedule based on realistic appraisals of time and personnel requirements; training personnel in a reliable and convenient fashion which is tailored to the functionality of the software actually implemented; and providing documentation which is accessible, convenient and tailored to the implemented functionality. Most importantly, the bottom line is for users to actually use the application in the way it is intended to be used to control and operate the business.
Companies which choose to develop, design and implement large software systems internally, spend a great deal of time, money and employee resources determining what types of features should be included in an industry specific system. Accordingly, there is a need for a set of integrated software tools and methodology to address the problems inherent in implementing packaged software so that implementation time and cost is reduced, use of such packages simplified and users gain a cost effective, timely implementation and greater use of more application functions resulting in maximum return on their investment. There is also a need for the integrated software tools and methodology to aid design, development and testing of software systems and modifications, and then utilize the integrated software tools which are customized during the design and development phases in the implementation phase.